/**
 *******************************************************************************
 * \brief   CAS EBX Project Work "Kaffeemaschine"
 *
 * \file    coffee2.h
 * \version 1.0
 * \date    30.05.2010
 * \author  Baehler Thomas, Liechti Beat, Sauter Marc,
 * \author  Vuksic Valentina, Zbinden Rene
 *
 * \remark  Last Modifications:
 * \remark  V1.0, 30.06.2010   Initial release
 *******************************************************************************
 **/

#ifndef COFFEE2_H_
#define COFFEE2_H_

/*
 *******************************************************************************
 * Definitions
 *******************************************************************************
 */
/** \brief The maximal time to produce a coffee. */
#define PRODUCTION_TIMEOUT 30
/** \brief The maximal time to wait for a coffee cup. */
#define WAIT_FOR_CUP_TIMEOUT 10
/** \brief The maximal time to wait until water temp reached. */
#define WAIT_FOR_WATER_TEMP_TIMEOUT 10
/** \brief The maximal time to wait until water mark reached. */
#define WAIT_FOR_WATER_TIMEOUT 10
/** \brief The maximal time to wait until milk mark reached */
#define WAIT_FOR_MILK_TIMEOUT 10
/** \brief The maximal time to wait for grounds remover */
#define WAIT_FOR_GROUNDS_TIMEOUT 10
/** \brief The maximal time to wait for device input */
#define WAIT_FOR_DEVICE_TIMEOUT 10
/** \brief The maximal time to wait for device input */
#define WAIT_FOR_PARAMETERS_TIMEOUT 10

/** \brief States are also button values and order numbers. */
enum e_states {OFF, READY,
		RISTRETTO, ESPRESSO, COFFEE, WHITECOFFEE,
		DOUBLE_RISTRETTO, DOUBLE_ESPRESSO, DOUBLE_COFFEE, DOUBLE_WHITECOFFEE,
		STATISTIK, PARAMETER};

/** \brief Error states. */
enum e_errors {NO_ERROR, BEAN_LOW, WATER_LOW, MILK_TEMP_LOW, MILK_TEMP_HIGH,
		MILK_ACID_LOW, MILK_ACID_HIGH, DRAIN_CONTAINER_HIGH,
		NO_CUP, NO_COMPLETION, MILK_TIMEOUT,HEAT_TIMEOUT,RINSE_TIMEOUT,
		WATER_TIMEOUT,GROUNDS_TIMEOUT,PARAMETER_LOAD_TIMEOUT};


/*
 *******************************************************************************
 * Global Variable Declaration
 *******************************************************************************
 */


#endif /* COFFEE2_H_ */
